﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Shpm.System.Web.Control
{
    public class CheckLongRange : ComAbsChecker
    {
        private int minNumber = 0;
        private int maxNumber = 0;

        /*
         *名称： CheckLongRange
         *功能： 构造函数
         *参数： 待校验值
         *返回： 无
         *说明： 无
        */
        public CheckLongRange(string value, int minNumber, int maxNumber)
            : base(value)
        {
            this.minNumber = minNumber;
            this.maxNumber = maxNumber;
        }

        public CheckLongRange(String value, int minNumber, int maxNumber, Shpm.System.Validator.ComAbsMsg msg)
            : base(value, msg)
        {
            this.minNumber = minNumber;
            this.maxNumber = maxNumber;
        }


        /*
         *名称： doCheck
         *功能： 校验函数
         *参数： 待校验值
         *返回： True 校验通过, False 校验失败
         *说明： 无
        */
        protected override bool doCheck(string value)
        {
            if (value == null || string.Empty.Equals(value))
            {
                return true;
            }

            try
            {
                long ret = long.Parse(value);

                if ((minNumber <= ret && ret <= maxNumber) == false)
                {
                    return false;
                }
            }
            catch 
            {
                return false;
            }

            return true;
        }
    }
}
